﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BUS;
using DTO;

namespace GIAODIEN
{
    public partial class frmphieumuon : Form
    {
        public frmphieumuon()
        {
            InitializeComponent();
        }
        BUS_PhieuMuon busPhieuMuon = new BUS_PhieuMuon();
        BUS_ChiTietPhieuMuon busCTPhieuMuon = new BUS_ChiTietPhieuMuon();
        DTO_PhieuMuon ttPhieuMuon = new DTO_PhieuMuon();
        DataTable dtChiTietPM=new DataTable();
        int iFlag = 0;
        private void frmphieumuon_Load(object sender, EventArgs e)
        {
            bientoancuc.phieumuon = 1;
            lblNgayHienHanh.Text += System.DateTime.Today.ToShortDateString();
            lblNhanVien.Text += bientoancuc.ttnhanvien.TenNhanVien+"-"+bientoancuc.ttnhanvien.MaNhanVien;
            
        }

        private void dtgvphieumuon_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
        {
            if (e.RowIndex >= dtChiTietPM.Rows.Count) {
                dtgvphieumuon[0, e.RowIndex].Value = busPhieuMuon.TaoMaPhieuMuon();
                dtgvphieumuon[2, e.RowIndex].Value = System.DateTime.Now.ToShortDateString();
                dtgvphieumuon[3, e.RowIndex].Value = System.DateTime.Now.AddDays(15).ToShortDateString();
            }
        }

        private void dtgvphieumuon_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == 0) {
            }
        }

        private void frmphieumuon_FormClosing(object sender, FormClosingEventArgs e)
        {
            bientoancuc.phieumuon = 0;
        }


        //Nút này chạy ki độc giả chưa mượn cuốn sách nào
        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (dtgvphieumuon.Rows.Count > 1 && iFlag == 1)
            {
                ttPhieuMuon.MaNV = int.Parse( bientoancuc.ttnhanvien.MaNhanVien);
                ttPhieuMuon.MaPhieuMuon = busPhieuMuon.TaoMaPhieuMuon();
                ttPhieuMuon.NgayMuon = System.DateTime.Now.ToShortDateString();
                ttPhieuMuon.MaDocGia = int.Parse(txtMaDocGia.Text);
                if (busPhieuMuon.ThemPhieuMuon(ttPhieuMuon) == true && busCTPhieuMuon.ThemChiTietPM(dtChiTietPM) == true)
                {
                    MessageBox.Show("Đã cập nhật thông tin mươn sách", "Thông báo", MessageBoxButtons.OK);
                }

                else
                {
                    MessageBox.Show("Cập nhật thông tin mươn sách thất bại", "Thông báo", MessageBoxButtons.OK);
                }
            }
            else {
                MessageBox.Show("Mời nhập những sách muốn mượn", "Thông báo", MessageBoxButtons.OK);
            }
        }

        //Load danh sách khi thay đổi mã độc giả
        private void txtMaDocGia_TextChanged(object sender, EventArgs e)
        {
            if (txtMaDocGia.Text != "")
            {
                dtChiTietPM = busPhieuMuon.DanhSachMuon(txtMaDocGia.Text);
                dtgvphieumuon.DataSource = dtChiTietPM;
                if (dtgvphieumuon.Rows.Count == 1)
                    iFlag = 1;

            }
        }


        //Xóa một dòng bị lỗi torng datagridview
        private void btnXoa_Click(object sender, EventArgs e)
        {
            foreach (DataGridViewRow dgvr in dtgvphieumuon.Rows) {
                if (dgvr.Selected == true)
                    dtgvphieumuon.Rows.Remove(dgvr);
            }
            if (busCTPhieuMuon.ThemChiTietPM(dtChiTietPM) == true)
            {
                MessageBox.Show("Đã cập nhật thông tin mượn sách", "Thông báo", MessageBoxButtons.OK);
            }
            else
            {
                MessageBox.Show("Cập nhật thông tin mươn sách thất bại", "Thông báo", MessageBoxButtons.OK);
            }
        }


        //Gia hạn thời gian mượn sách
        private void btnGiaHan_Click(object sender, EventArgs e)
        {
            foreach (DataGridViewRow dgvr in dtgvphieumuon.SelectedRows)
            {
                dgvr.Cells[3].Value = DateTime.Parse(dgvr.Cells[3].Value.ToString()).AddDays(5).ToShortDateString();
                dgvr.Cells[4].Value = dgvr.Cells[4].Value + "(Đã gia hạn)";
                
                if (busCTPhieuMuon.ThemChiTietPM(dtChiTietPM)==true)
                {
                    MessageBox.Show("Đã gia hạn phiếu mượn", "Thông báo", MessageBoxButtons.OK);
                }
                else
                {
                    MessageBox.Show("Không thể gia hạn được phiếu mượn", "Thông báo", MessageBoxButtons.OK);
                }
            }
        }

        
        //Cập nhật lại, thêm sách, hay sửa thông tin mượn sách cho độc giả
        private void btnSua_Click(object sender, EventArgs e)
        {
            if (busCTPhieuMuon.ThemChiTietPM(dtChiTietPM) == true)
            {
                MessageBox.Show("Đã cập nhật thông tin mượn sách", "Thông báo", MessageBoxButtons.OK);
            }
            else
            {
                MessageBox.Show("Cập nhật thông tin mươn sách thất bại", "Thông báo", MessageBoxButtons.OK);
            }
        }

  


    }
}
